/**
 * 暴露的本质： 
 * t:  任何一个模块整体都是一个对象, 所有暴露的语法都是向这个对象中添加属性/方法 
 * me: 暴露的是一个模块对象，所有暴露出去的值，都是往这个模块对象中添加属性或方法
 * 3种暴露方式：
 * 1、分别暴露
 * 2、默认暴露
 * 3、统一暴露（注意先声明变量和方法，在把变量放进对象中，统一暴露）
 * 
 */
// 1.分别暴露  => 可以多次
export let a = 3;
export let b = {m: 3};

let c = function () {
    console.log('ccc');
}

/**
 * 2.默认暴露
 * default后面接表达式 ，default 就相当于是模块对象的属性default
 * 默认导出只能写一次，如果书写多次，在书写时就会报红
 *  */  
export default c;
// export default 'ddd';

// 错误写法
// export default let d ='ddd';               

// 统一暴露 => 向模块对象中添加对象中的所有属性/方法
let d1 = 'abc';
let d2 = [34, 12, 45];
let fun = function () {
    console.log('fun');
}
export {
    d1,
    d2,
    fun
}
/* 
{
    a: 3

} 
*/
  